package com.base.po.tbk;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TbkChoiceGoodsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TbkChoiceGoodsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("ID like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("ID not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andNumiidIsNull() {
            addCriterion("NumIid is null");
            return (Criteria) this;
        }

        public Criteria andNumiidIsNotNull() {
            addCriterion("NumIid is not null");
            return (Criteria) this;
        }

        public Criteria andNumiidEqualTo(String value) {
            addCriterion("NumIid =", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidNotEqualTo(String value) {
            addCriterion("NumIid <>", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidGreaterThan(String value) {
            addCriterion("NumIid >", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidGreaterThanOrEqualTo(String value) {
            addCriterion("NumIid >=", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidLessThan(String value) {
            addCriterion("NumIid <", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidLessThanOrEqualTo(String value) {
            addCriterion("NumIid <=", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidLike(String value) {
            addCriterion("NumIid like", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidNotLike(String value) {
            addCriterion("NumIid not like", value, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidIn(List<String> values) {
            addCriterion("NumIid in", values, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidNotIn(List<String> values) {
            addCriterion("NumIid not in", values, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidBetween(String value1, String value2) {
            addCriterion("NumIid between", value1, value2, "numiid");
            return (Criteria) this;
        }

        public Criteria andNumiidNotBetween(String value1, String value2) {
            addCriterion("NumIid not between", value1, value2, "numiid");
            return (Criteria) this;
        }

        public Criteria andSmallimagesIsNull() {
            addCriterion("SmallImages is null");
            return (Criteria) this;
        }

        public Criteria andSmallimagesIsNotNull() {
            addCriterion("SmallImages is not null");
            return (Criteria) this;
        }

        public Criteria andSmallimagesEqualTo(String value) {
            addCriterion("SmallImages =", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesNotEqualTo(String value) {
            addCriterion("SmallImages <>", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesGreaterThan(String value) {
            addCriterion("SmallImages >", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesGreaterThanOrEqualTo(String value) {
            addCriterion("SmallImages >=", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesLessThan(String value) {
            addCriterion("SmallImages <", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesLessThanOrEqualTo(String value) {
            addCriterion("SmallImages <=", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesLike(String value) {
            addCriterion("SmallImages like", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesNotLike(String value) {
            addCriterion("SmallImages not like", value, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesIn(List<String> values) {
            addCriterion("SmallImages in", values, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesNotIn(List<String> values) {
            addCriterion("SmallImages not in", values, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesBetween(String value1, String value2) {
            addCriterion("SmallImages between", value1, value2, "smallimages");
            return (Criteria) this;
        }

        public Criteria andSmallimagesNotBetween(String value1, String value2) {
            addCriterion("SmallImages not between", value1, value2, "smallimages");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("Content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("Content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("Content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("Content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("Content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("Content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("Content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("Content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("Content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("Content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("Content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("Content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("Content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("Content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andItemurlIsNull() {
            addCriterion("ItemUrl is null");
            return (Criteria) this;
        }

        public Criteria andItemurlIsNotNull() {
            addCriterion("ItemUrl is not null");
            return (Criteria) this;
        }

        public Criteria andItemurlEqualTo(String value) {
            addCriterion("ItemUrl =", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlNotEqualTo(String value) {
            addCriterion("ItemUrl <>", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlGreaterThan(String value) {
            addCriterion("ItemUrl >", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlGreaterThanOrEqualTo(String value) {
            addCriterion("ItemUrl >=", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlLessThan(String value) {
            addCriterion("ItemUrl <", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlLessThanOrEqualTo(String value) {
            addCriterion("ItemUrl <=", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlLike(String value) {
            addCriterion("ItemUrl like", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlNotLike(String value) {
            addCriterion("ItemUrl not like", value, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlIn(List<String> values) {
            addCriterion("ItemUrl in", values, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlNotIn(List<String> values) {
            addCriterion("ItemUrl not in", values, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlBetween(String value1, String value2) {
            addCriterion("ItemUrl between", value1, value2, "itemurl");
            return (Criteria) this;
        }

        public Criteria andItemurlNotBetween(String value1, String value2) {
            addCriterion("ItemUrl not between", value1, value2, "itemurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlIsNull() {
            addCriterion("CouponUrl is null");
            return (Criteria) this;
        }

        public Criteria andCouponurlIsNotNull() {
            addCriterion("CouponUrl is not null");
            return (Criteria) this;
        }

        public Criteria andCouponurlEqualTo(String value) {
            addCriterion("CouponUrl =", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlNotEqualTo(String value) {
            addCriterion("CouponUrl <>", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlGreaterThan(String value) {
            addCriterion("CouponUrl >", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlGreaterThanOrEqualTo(String value) {
            addCriterion("CouponUrl >=", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlLessThan(String value) {
            addCriterion("CouponUrl <", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlLessThanOrEqualTo(String value) {
            addCriterion("CouponUrl <=", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlLike(String value) {
            addCriterion("CouponUrl like", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlNotLike(String value) {
            addCriterion("CouponUrl not like", value, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlIn(List<String> values) {
            addCriterion("CouponUrl in", values, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlNotIn(List<String> values) {
            addCriterion("CouponUrl not in", values, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlBetween(String value1, String value2) {
            addCriterion("CouponUrl between", value1, value2, "couponurl");
            return (Criteria) this;
        }

        public Criteria andCouponurlNotBetween(String value1, String value2) {
            addCriterion("CouponUrl not between", value1, value2, "couponurl");
            return (Criteria) this;
        }

        public Criteria andDiscussIsNull() {
            addCriterion("Discuss is null");
            return (Criteria) this;
        }

        public Criteria andDiscussIsNotNull() {
            addCriterion("Discuss is not null");
            return (Criteria) this;
        }

        public Criteria andDiscussEqualTo(String value) {
            addCriterion("Discuss =", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussNotEqualTo(String value) {
            addCriterion("Discuss <>", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussGreaterThan(String value) {
            addCriterion("Discuss >", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussGreaterThanOrEqualTo(String value) {
            addCriterion("Discuss >=", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussLessThan(String value) {
            addCriterion("Discuss <", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussLessThanOrEqualTo(String value) {
            addCriterion("Discuss <=", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussLike(String value) {
            addCriterion("Discuss like", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussNotLike(String value) {
            addCriterion("Discuss not like", value, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussIn(List<String> values) {
            addCriterion("Discuss in", values, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussNotIn(List<String> values) {
            addCriterion("Discuss not in", values, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussBetween(String value1, String value2) {
            addCriterion("Discuss between", value1, value2, "discuss");
            return (Criteria) this;
        }

        public Criteria andDiscussNotBetween(String value1, String value2) {
            addCriterion("Discuss not between", value1, value2, "discuss");
            return (Criteria) this;
        }

        public Criteria andSharepicIsNull() {
            addCriterion("SharePic is null");
            return (Criteria) this;
        }

        public Criteria andSharepicIsNotNull() {
            addCriterion("SharePic is not null");
            return (Criteria) this;
        }

        public Criteria andSharepicEqualTo(String value) {
            addCriterion("SharePic =", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicNotEqualTo(String value) {
            addCriterion("SharePic <>", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicGreaterThan(String value) {
            addCriterion("SharePic >", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicGreaterThanOrEqualTo(String value) {
            addCriterion("SharePic >=", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicLessThan(String value) {
            addCriterion("SharePic <", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicLessThanOrEqualTo(String value) {
            addCriterion("SharePic <=", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicLike(String value) {
            addCriterion("SharePic like", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicNotLike(String value) {
            addCriterion("SharePic not like", value, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicIn(List<String> values) {
            addCriterion("SharePic in", values, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicNotIn(List<String> values) {
            addCriterion("SharePic not in", values, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicBetween(String value1, String value2) {
            addCriterion("SharePic between", value1, value2, "sharepic");
            return (Criteria) this;
        }

        public Criteria andSharepicNotBetween(String value1, String value2) {
            addCriterion("SharePic not between", value1, value2, "sharepic");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("CreateTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("CreateTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("CreateTime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("CreateTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("CreateTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CreateTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("CreateTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("CreateTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("CreateTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("CreateTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("CreateTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("CreateTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNull() {
            addCriterion("DataStatus is null");
            return (Criteria) this;
        }

        public Criteria andDatastatusIsNotNull() {
            addCriterion("DataStatus is not null");
            return (Criteria) this;
        }

        public Criteria andDatastatusEqualTo(Integer value) {
            addCriterion("DataStatus =", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotEqualTo(Integer value) {
            addCriterion("DataStatus <>", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThan(Integer value) {
            addCriterion("DataStatus >", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("DataStatus >=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThan(Integer value) {
            addCriterion("DataStatus <", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusLessThanOrEqualTo(Integer value) {
            addCriterion("DataStatus <=", value, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusIn(List<Integer> values) {
            addCriterion("DataStatus in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotIn(List<Integer> values) {
            addCriterion("DataStatus not in", values, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusBetween(Integer value1, Integer value2) {
            addCriterion("DataStatus between", value1, value2, "datastatus");
            return (Criteria) this;
        }

        public Criteria andDatastatusNotBetween(Integer value1, Integer value2) {
            addCriterion("DataStatus not between", value1, value2, "datastatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}